<?php


namespace app\api\controller;


use app\api\BaseApi;
use think\facade\Db;
use think\response\Json;

/**
 * 验证码类 相关处理
 * Class YanZhengMa
 * @package app\api\controller
 */
class YanZhengMa extends BaseApi
{
    /**
     * 给手机发生短信验证
     * 先接手数据，通过验证后，调用第三方接口给用户发送短信
     */
    public function getCaptchaCode():Json
    {
        $mobile = input('mobile');
        if(empty($mobile)){
            return  $this -> error('手机号不可为空','','100101-01');
        }
        $res = $this->isMobile($mobile);
        if(!$res){
            return  $this -> error('请输入正确的手机号码','','100101-02');
        }
        //TODO 调用API接口发送短信，等等账户注册完成，本次跳过
        $captchaCode ='980733';
        $id =0;
        //插入数据库
        if($captchaCode){
            $data = [
                'mobile' => $mobile,
                'captcha' => $captchaCode,
                'status' => 1 //状态：0 未发送；1 已发送； 2 已验证；默认：0
            ];
            $id = Db::table('captcha') -> insertGetId($data);
        }else{
            return  $this -> error('调用第三方获取验证失败，请稍后重试','','100101-03');
        }
        if($captchaCode && $id){
            $result['captchaCode'] = $captchaCode;
            $result['captchaId'] = $id; //在注册用户信息时，APP需要用这个ID回传给服务端，验证用户回传的验证码和用户直接的关系
            return  $this -> success('成功',$result);
        }else{
            return  $this -> error('验证码获取失败，请稍后重试','','100101-03');
        }
    }

    /**
     * 检查验证码的有效性
     * add by jack 2021-03-28
     */
    public function checkCaptchaCode(){
        //$captchaCode =
    }

}